Detecting driving with a wearable computing device

ABSTRACT

A wearable computing device is described that detects an indication of movement associated with the wearable computing device when a user of the wearable computing device detected being located within a moving vehicle. Based at least in part on the indication of movement, a determination is made that the user of the wearable computing device is currently driving the moving vehicle. An operation is performed based on the determination that the user of the wearable computing device is currently driving the moving vehicle.

This application is a Continuation of application Ser. No. 15/921,239,filed on Mar. 14, 2018, which is a Continuation of application Ser. No.15/794,626, filed on Oct. 26, 2017, now U.S. Pat. No. 9,961,189, issuedMay 1, 2018, which is a Continuation of application Ser. No. 15/401,782,filed on Jan. 9, 2017, now U.S. Pat. No. 9,832,306, issued Nov. 28,2017, which is a Continuation of application Ser. No. 14/627,122, filedon Feb. 20, 2015, now U.S. Pat. No. 9,571,629, issued Feb. 14, 2017,which is a Continuation of application Ser. No. 14/246,966, filed onApr. 7, 2014, now U.S. Pat. No. 9,037,125, issued May 19, 2015, theentire content of each of which is hereby incorporated by reference.

BACKGROUND

Some mobile devices (e.g., wearable computing devices, mobile phones,tablet computing devices, vehicle entertainment or navigation systems,etc.) provide a variety of functions that a user may wish to accesswhile traveling in a vehicle. User interaction with certain functions ofa mobile device may be unsafe and/or unlawful when a user of the mobiledevice is simultaneously operating a vehicle. To promote safe and/orlawful interaction with the mobile device, some mobile devices enableand/or disable certain functions responsive to the mobile devicedetecting that the mobile device is located in a moving vehicle. Assuch, even if a user of the mobile device is merely a passenger in themoving vehicle (and thus is not actually operating or driving thevehicle), the mobile device may unnecessarily prevent the user fromsafely and lawfully accessing one or more functions of the mobiledevice.

SUMMARY

In one example, the disclosure is directed to a method that includesdetecting that a wearable computing device is located within a movingvehicle, detecting, by the wearable computing device, an indication ofmovement associated with the wearable computing device, and determining,based at least in part on the indication of movement, that a user of thewearable computing device is currently driving the moving vehicle. Themethod further includes performing, based on the determination that theuser of the wearable computing device is currently driving the movingvehicle, an operation.

In another example, the disclosure is directed to a wearable computingdevice that includes at least one processor and at least one moduleoperable by the at least one processor to detect that the wearablecomputing device is located within a moving vehicle, detect anindication of movement associated with the wearable computing device anddetermine, based at least in part on the indication of movement, that auser of the wearable computing device is currently driving the movingvehicle. The at least one module is further operable by the at least oneprocessor to perform, based on the determination that the user of thewearable computing device is currently driving the moving vehicle, anoperation.

In another example, the disclosure is directed to a method that includesreceiving, by a computing system, from a wearable computing device,information that includes one or more indications of movement associatedwith the wearable computing device and at least one indication that thewearable computing device is located within a moving vehicle, anddetermining, by the computing system, based at least in part on the oneor more indications of movement and the at least one indication that thewearable computing device is located within the moving vehicle, aprobability that a user of the wearable computing device is performingan act of driving. The method further includes responsive to determiningthat the probability satisfies a probability threshold, determining, bythe computing system, that the user of the wearable computing device iscurrently driving the moving vehicle, and outputting, by the computingsystem, for transmission to at least one of the wearable computingdevice or at least one second computing device, information thatconfigures the at least one of the wearable computing device or the atleast one second device to perform an operation.

The details of one or more examples are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages of the disclosure will be apparent from the description anddrawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual diagram illustrating an example computing systemconfigured to determine whether a user of a wearable computing device isdriving a moving vehicle, in accordance with one or more aspects of thepresent disclosure.

FIG. 2 is a block diagram illustrating an example wearable deviceconfigured to determine whether a user of the wearable computing deviceis driving a moving vehicle, in accordance with one or more aspects ofthe present disclosure.

FIG. 3 is a block diagram illustrating an example computing device thatoutputs graphical content for display at a remote device, in accordancewith one or more techniques of the present disclosure.

FIG. 4 is a flowchart illustrating example operations of an examplewearable computing device configured to determine whether a user of thewearable computing device is driving a moving vehicle, in accordancewith one or more aspects of the present disclosure.

FIG. 5 is a flowchart illustrating example operations of an examplecomputing system configured to determine whether a user of a wearablecomputing device is driving a moving vehicle, in accordance with one ormore aspects of the present disclosure.

DETAILED DESCRIPTION

In general, techniques of this disclosure may enable a wearablecomputing device (e.g., a computerized watch, computerized eyewear,etc.) to perform an operation based on a determination that a user ofthe wearable computing device (e.g., a person wearing the wearablecomputing device) is driving a moving vehicle. When the wearablecomputing device is located at, on, or within the transportation movingvehicle (e.g., at or near a location of the transportation vehicle,within range of a wireless communication signal of the transportationvehicle, etc.) an inference may be made that the user of the wearablecomputing device is riding in the transportation vehicle. Based on anindication of movement detected by the wearable computing device, adetermination can be made as to whether the person riding in the movingvehicle is driving the moving vehicle (e.g., by performing an act ofdriving such as turning a steering wheel, moving a gear shift, etc.).The wearable computing device and/or other computing devices (e.g., aserver device, a mobile phone, etc.) may accordingly perform one or moreoperations (e.g., enabling and/or disabling a function, feature, and/orcomponent of the wearable computing device, outputting information fromthe wearable computing device, etc.) if the determination is made thatthe person is performing driving the moving vehicle (and not merelyriding in the transportation vehicle).

Unlike some mobile computing devices that may enable and/or disablecertain features of a device whenever a user is riding in atransportation vehicle, a wearable computing device or other computingdevices in accordance with techniques of this disclosure may performcertain operations responsive to first determining whether a user of thewearable computing device is actually driving the transportationvehicle, and not merely a passenger riding in the transportationvehicle. In this manner, the wearable computing device can promote safeand lawful use of the device without unnecessarily enabling or disablingcertain features when a person wearing the wearable computing device isriding in the transportation vehicle. In other words, if a user of thewearable computing device is merely a passenger of the moving vehicle,and is not actually operating or driving the vehicle, the wearablecomputing device may be configured to refrain from unnecessarilyinhibiting the wearable computing device from performing certainoperations.

Throughout the disclosure, examples are described where a computingsystem (e.g., a server, etc.) and/or computing device (e.g., a wearablecomputing device, etc.) may analyze information (e.g., locations,speeds, accelerations, orientations, etc.) associated with the computingsystem and/or computing device, only if the computing system and/orcomputing device receives permission from a user (e.g., a person wearinga wearable computing device) to analyze the information. For example, insituations discussed below in which the mobile computing device maycollect or may make use of information associated with the user and thecomputing system and/or computing device, the user may be provided withan opportunity to provide input to control whether programs or featuresof the computing system and/or computing device can collect and make useof user information (e.g., information about a user's e-mail, a user'ssocial network, social actions or activities, profession, a user'spreferences, or a user's past and current location), or to dictatewhether and/or how to the computing system and/or computing device mayreceive content that may be relevant to the user. In addition, certaindata may be treated in one or more ways before it is stored or used bythe computing system and/or computing device, so thatpersonally-identifiable information is removed. For example, a user'sidentity may be treated so that no personally identifiable informationcan be determined about the user, or a user's geographic location may begeneralized where location information is obtained (such as to a city,ZIP code, or state level), so that a particular location of a usercannot be determined. Thus, the user may have control over howinformation is collected about the user and used by the computing systemand/or computing device.

FIG. 1 is a conceptual diagram illustrating computing system 1 which isconfigured to determine whether a user of a wearable computing device isdriving a moving vehicle, in accordance with one or more aspects of thepresent disclosure. System 1 includes wearable computing device 10,remote computing system 6, mobile computing device 8, and network 34.

FIG. 1 shows wearable computing device 10 and mobile computing device 8as each being located within or on a transportation vehicle 2 (e.g., anexample moving vehicle). In the example of FIG. 1, vehicle 2 representsan overhead view of an automobile having four tires 3A-3D and five seatslabeled seats 4A-4E.

The term “transportation vehicle” or “moving vehicle” as used hereinrefers to any machine or apparatus capable of transporting passengersbetween geographic locations. Some examples of transportation vehicle 2include, but are not limited to, an automobile, a railway car, a tram, atrolley, a bus, a taxicab, a shuttle, a monorail, an airplane, a ferry,a motorcycle, a snowmobile, a dirt bike, a boat, a ship, a vessel, awater taxi, and a hovercraft. Transportation vehicles may becommercially owned and operated, privately owned and operated, publiclyowned and operated, government owned and operated, military owned andoperated, or owned and operated by any other entity.

The term “passenger” as used herein refers to a person or a user whorides in, on, or otherwise travels with a moving, transportation vehicleand does not drive operate or otherwise control the moving,transportation vehicle. The terms “driver” and “operator” as used hereinrefers to a person or user of a device that not only rides in, on, orotherwise travels with a moving, transportation vehicle, but alsodrives, operates, otherwise controls the moving, transportation vehicle.A driver is not a passenger.

The phrase “act of driving” as used herein refers to any type of actionthat a driver or operator of a transportation vehicle may perform whendriving, operating, or otherwise controlling the transportation vehicle.For example, an act of driving may include, but is not limited to,turning a steering wheel, moving a gear shift, engaging a brake pedal,pressing an acceleration pedal, moving a throttle lever, etc.

Network 34 represents any public or private communication network.Wearable computing device 10, mobile computing device 8, and remotecomputing system 6 may send and receive data across network 34 using anysuitable communication techniques. For example, wearable computingdevice 10 may be operatively coupled to network 34 using network link36A. Remote computing system 6 may be operatively coupled to network 34by network link 36B and mobile computing device 8 may be operativelycoupled to network 34 using network link 36C.

Network 34 may include network hubs, network switches, network routers,etc., that are operatively inter-coupled thereby providing for theexchange of information between wearable computing device 10, mobilecomputing device 8, and remote computing system 6. In some examples,network links 36A, 36B, and 36C may be Ethernet, ATM or other networkconnections. Such connections may be wireless and/or wired connections.

Remote computing system 6 of system 1 represents any suitable mobile orstationary remote computing system, such as one or more desktopcomputers, laptop computers, mainframes, servers, cloud computingsystems, etc. capable of sending and receiving information acrossnetwork link 36B to network 34. In some examples, remote computingsystem 6 represents a cloud computing system that provides one or moreservices through network 34. One or more computing devices, such aswearable computing device 10 and mobile computing device 8, may accessthe one or more services provided by the cloud using remote computingsystem 6. For example, wearable computing device 10 and/or mobilecomputing device 8 may store and/or access data in the cloud usingremote computing system 6. In some examples, some or all thefunctionality of remote computing system 6 exists in a mobile computingplatform, such as a mobile phone, tablet computer, etc. that can travelwith transportation vehicle 2. For instance, some or all thefunctionality of remote computing system 6 may in some examples resideand execute from within mobile computing device 8.

Remote computing system 6 includes driving probability module 30 anddriving patterns data store 32. Driving probability module 30 mayperform operations described using software, hardware, firmware, or amixture of hardware, software, and firmware residing in and/or executingat remote computing system 6. Remote computing system 6 may executedriving probability module 30 with multiple processors or multipledevices. Remote computing system 6 may execute driving probabilitymodule 30 as a virtual machine executing on underlying hardware. Drivingprobability module 30 may execute as a service of an operating system orcomputing platform. Driving probability module 30 may execute as one ormore executable programs at an application layer of a computingplatform.

Data store 32 represents any suitable storage medium for storing actual,modeled, predicted, or otherwise derived patterns of location and sensordata that a machine learning system of driving probability module 30 mayaccesses to infer whether a user of a computing device is performing anact of driving. For example, data store 32 may contain lookup tables,databases, charts, graphs, functions, equations, and the like thatdriving probability module 30 may access to generate one or more rules.Driving probability module 30 may rely on the rules generated from theinformation contained at data store 32 to determine whether location andsensor data obtained from wearable computing device 10 and/or mobilecomputing device 8 indicates that a person is performing an act ofdriving. Remote computing system 6 may provide access to the data storedat data stored 32 as a cloud based service to devices connected tonetwork 34, such as wearable computing device 10 and mobile computingdevice 8.

Driving probability module 30 may respond to requests for information(e.g., from wearable computing device 10 and/or mobile computing device8) indicating whether persons or users of computing devices 10 and 8 aredriving or at least performing acts of driving. For instance, drivingprobability module 30 may receive a request from wearable computingdevice 10 via network link 36B for a probability indicating whether aperson wearing wearable computing device 10 is performing an act ofdriving and/or whether the person is driving transportation vehicle 2.Driving probability module 30 may receive location and sensor data vialink 36B and network 34 from mobile computing device 8 and/or wearablecomputing device 10 and compare the received location and sensor data toone or more patterns of location and sensor data stored at data store 32to derive a probability that the person wearing wearable computingdevice 10 is driving transportation vehicle 2 or at least performing anact of driving. Driving probability module 30 may respond to requestsfor information from wearable computing device 10 and mobile computingdevice 8 by sending data via network link 36B and through network 34.

In some examples, wearable computing device 10 may output, fortransmission to remote computing system 6, information comprising anindication of movement (e.g., data indicative of a direction, speed,location, orientation, position, elevation, etc. of wearable computingdevice 10. Responsive to outputting the information comprising theindication of movement, wearable computing device 10 may receive, fromremote computing system 6, a probability that a person wearing wearablecomputing device is 10 performing the act of driving. In other words,whether driving probability module 30 exists at a remote server or amobile computing platform, wearable computing device 10 may communicatewith remote computing system 6 to obtain a probability that a personwearing wearable computing device 10 is driving transportation vehicle2.

In the example of FIG. 1, mobile computing device 8 is a mobile phoneand wearable computing device 10 is a watch. However other examples ofmobile computing device 8 and wearable computing device 10 exist.

Wearable computing device 10 may be any type of computing device, whichcan be worn, held, or otherwise physically attached to a person drivinga transportation vehicle, and which includes one or more processorsconfigured to detect movement of the person while the person is drivingthe transportation vehicle. Examples of wearable computing device 10include, but are not limited to, a watch, computerized eyewear, acomputerized headset, a computerized glove, computerized jewelry, or anyother combination of hardware, software, and/or firmware that can beused to detect movement of a person who is wearing, holding, orotherwise attached to wearable computing device 10.

Mobile computing device 8 may be any mobile computing device thatincludes one or more processors configured to perform operations whilephysically located in a passenger area or compartment of atransportation vehicle, such as transportation vehicle 2, while thetransportation vehicle is in motion. Numerous examples of mobilecomputing device 8 exist and include, but are not limited to, a mobilephone, a tablet computer, a personal digital assistant (PDA), a laptopcomputer, a portable gaming device, a portable media player, an e-bookreader, a wearable computing device, or any other combination ofhardware, software, and/or firmware that can function while containedwithin a passenger area of a moving transportation vehicle, such astransportation vehicle 2. In some examples, mobile computing device 8represents an onboard computing platform that is built into atransportation vehicle, such as transportation vehicle 2.

Although shown in FIG. 1 as a separate element apart from remotecomputing system 6, in some examples, mobile computing device 8 may be aremote computing system including functionality of driving probabilitymodule 30 for providing a probability that a person is drivingtransportation vehicle 2. In other words, although not shown, drivingprobability module 30 and driving patterns data store 32 may existlocally at mobile computing device 8 and/or may exist locally atwearable computing device 10, to receive information comprising anindication of movement from wearable computing device 10, determine aprobability, based on the indication of movement, that the personwearing wearable computing device 10 is performing an act of driving,and output, for transmission to wearable computing device 10, theprobability.

In any event, as shown in FIG. 1, wearable computing device 10 includesa user interface device (UID) 12. UID 12 of wearable computing device 10may function as an input device for wearable computing device 10 and asan output device. UID 12 may be implemented using various technologies.For instance, UID 12 may function as an input device using a microphoneand as an output device using a speaker to provide an audio based userinterface. UID 12 may function as an input device using apresence-sensitive input display, such as a resistive touchscreen, asurface acoustic wave touchscreen, a capacitive touchscreen, aprojective capacitance touchscreen, a pressure sensitive screen, anacoustic pulse recognition touchscreen, or another presence-sensitivedisplay technology. UID 12 may function as an output (e.g., display)device using any one or more display devices, such as a liquid crystaldisplay (LCD), dot matrix display, light emitting diode (LED) display,organic light-emitting diode (OLED) display, e-ink, or similarmonochrome or color display capable of outputting visible information tothe user of wearable computing device 10.

UID 12 of wearable computing device 10 may include a presence-sensitivedisplay that may receive tactile input from a user of wearable computingdevice 10. UID 12 may receive indications of the tactile input bydetecting one or more gestures from a user of wearable computing device10 (e.g., the user touching or pointing to one or more locations of UID12 with a finger or a stylus pen). UID 12 may present output to a user,for instance at a presence-sensitive display. UID 12 may present theoutput as a graphical user interface which may be associated withfunctionality provided by wearable computing device 10. For example, UID12 may present various user interfaces of applications executing at oraccessible by wearable computing device 10 (e.g., an electronic messageapplication, a navigation application, an Internet browser application,etc.). A user may interact with a respective user interface of anapplication to cause wearable computing device 10 to perform operationsrelating to a function.

FIG. 1 shows that wearable computing device 10 includes one or moresensor devices 14 for capturing location and sensor data associated withwearable computing device 10. Many examples of sensor devices 14 existincluding microphones, cameras, accelerometers, gyroscopes,thermometers, galvanic skin response sensors, pressure sensors,barometers, ambient light sensors, heart rate monitors, altimeters, andthe like. One or more sensors 14 may capture location and sensor dataand output the captured location and sensor data to one or morecomponents of wearable computing device 10, such as modules 20, 22, and24.

Wearable computing device 10 may include user interface (“UI”) module20, location module 22, and driver module 24. Modules 20, 22, and 24 mayperform operations described using software, hardware, firmware, or amixture of hardware, software, and firmware residing in and/or executingat wearable computing device 10. Wearable computing device 10 mayexecute modules 20, 22, and 24 with multiple processors. Wearablecomputing device 10 may execute modules 20, 22, and 24 as a virtualmachine executing on underlying hardware. Modules 20, 22, and 24 mayexecute as one or more services of an operating system, a computingplatform. Modules 20, 22, and 24 may execute as one or more remotecomputing services, such as one or more services provided by a cloudand/or cluster based computing system. Modules 20, 22, and 24 mayexecute as one or more executable programs at an application layer of acomputing platform.

UI module 20 may cause UID 12 to present audio (e.g., sounds), graphics,or other types of output (e.g., haptic feedback, etc.) associated with auser interface that a person may use to interact with features and/orfunctions of wearable computing device 10. UI module 20 may receiveinformation from driver module 24 that causes UI module 20 to alter orotherwise change, the presentation of a user interface at UID 12. Forinstance, when wearable computing device 10 determines that a personwearing computing device 10 is currently driving a transportationvehicle, driver module 24 may output information to UI module 20 thatcauses UI module 20 to disable UID 12 to prevent the person from beingdistracted by the audio, graphics, or other types of output that UImodule 20 may otherwise cause UID 12 to output. UI module 20 may receiveinformation from driver module 24 that indicates that the person wearingwearable computing device 10 is not driving a transportation vehicle andmay enable UID 12 to allow the person to interact with the audio,graphics or other types of output that UI module 20 causes UID 12 topresent.

Location module 22 may determine whether wearable computing device 10 iswithin the presence of transportation vehicle 2. Modules 20 and 24 mayreceive information (e.g., data) from location module 22 when locationmodule 22 detects a presence of transportation vehicle 2. When wearablecomputing device 10 is in the presence of transportation vehicle 2,wearable computing device 10 may be located in, on, or otherwisecontained within a passenger area of transportation vehicle 2. Forexample, location module 22 may determine whether a location of wearablecomputing device 10 is within a threshold distance of transportationvehicle 2 based on signal data received by wearable computing device 10and/or location and sensor data received from sensor devices 14.

For instance, a communication unit (e.g., near-field-communicationradio, Wi-Fi radio, CB radio, cellular radio, Bluetooth radio, etc.) ofwearable computing device 10 may receive communication signals fromand/or transmit communication signals to a communication unit (e.g.,near-field-communication radio, Wi-Fi radio, CB radio, Bluetooth radio,etc.) of transportation vehicle 2. Location module 22 may infer thatwhen the communication unit of wearable computing device 10 is in rangeof the communication unit of transportation vehicle 2 that, wearablecomputing device 10 and transportation vehicle 2 are collocated (e.g.,within a threshold distance of each other) or otherwise within thepresence of each other. Location module 22 may infer that when thecommunication unit of wearable computing device 10 is not in range ofthe communication unit of transportation vehicle 2, that wearablecomputing device 10 and transportation unit 2 are not collocated orotherwise within the presence of each other.

Location module 22 may rely on location and sensor data obtained bysensor devices 14 to determine whether wearable computing device 10 iswithin a threshold distance of transportation vehicle 2 or otherwisewithin a presence of transportation vehicle 2. For example, locationmodule 22 may determine a speed associated with wearable computingdevice 10 based on location and sensor data obtained by sensor devices14. If the speed associated with wearable computing device 10 isapproximately or equal to a threshold speed at which transportationvehicle 2 generally travels at (e.g., an average speed of a movingautomobile) location module 22 may determine that wearable computingdevice 10 is on, in, or otherwise within a presence of transportationvehicle 2.

In some examples, wearable computing device 10 may include a globalpositioning system (GPS) radio for receiving GPS signals (e.g., from aGPS satellite) having location and sensor data corresponding to thecurrent location of wearable computing device 10. Location module 22 mayinclude, or otherwise access (e.g., by communicating over network 34with remote computing system 6) maps and transportation informationassociated with transportation vehicle 2. Location module 22 may look upthe determined location of wearable computing device 10 from the mapsand transportation information to determine whether wearable computingdevice is within a presence or threshold distance of a travel route(e.g., a road, a track, etc.) associated with transportation vehicle 2.

Driver module 24 may determine, infer, or otherwise obtain informationindicating that the person wearing wearable computing device 10 isdriving transportation vehicle 2. Driver module 24 may analyze locationand sensor data obtained by sensor devices 14 to identify indications ofmovement that may or may not indicate when a person wearing wearablecomputing device 10 is driving transportation vehicle 2. Driver module24 may communicate with remote computing system 6 via network 34 toobtain a probability or other information indicating whether locationand sensor data obtained by sensor devices 14 of wearable computingdevice 10 indicates that a person wearing wearable computing device 10is driving transportation vehicle 2.

Responsive to determining that the person wearing wearable computingdevice 10 is driving transportation vehicle 2, driver module 24 maycause wearable computing device 10 to perform an operation. For exampleresponsive to determining that the person wearing wearable computingdevice 10 is driving transportation vehicle 2, driver module 24 mayoutput information to UI module 20 that causes UI module 20 to disableor otherwise turn-off UID 12.

In some examples, driver module 24 may include features and orcapabilities of driving probability module 30 and/or driving patternsdata store 32. In other words, driver module 24 may store informationthat a machine learning system of driver module 24 may accesses to inferwhether a user of wearable computing device 10 is performing an act ofdriving. Driver module 24 may rely on rules generated by the machinelearning system to determine whether location and sensor data obtainedfrom sensors 14 and/or mobile computing device 8 indicates that a personis performing an act of driving.

In some examples, driver module 24 may factor a probability indicatingwhether a person wearing wearable computing device 10 is drivingtransportation vehicle 2 with other sources or types of information(e.g., co-presence with others in the vehicle, schedule informationindicating that the user may typically drive to work at a current time,etc.) to determine that the person wearing wearable computing device 10is driving transportation vehicle 2. Said differently, there are othercomputation models or information that can be relied on by wearablecomputing device 10 to determine that a person is driving beforeperforming an operation in response to determining that the personwearing wearable computing device 10 is driving.

In accordance with techniques of this disclosure, computing device 10may detect a presence of transportation vehicle 2. In other words,computing device 10 may detect that a user of computing device 10 islocated within a moving vehicle. Before or after detecting the presenceof transportation vehicle 2, wearable computing device 10 may detect anindication of movement associated with wearable computing device 10.

For example, location module 22 may obtain signal data received bywearable computing device 10 that includes a Bluetooth communicationradio identifier associated with transportation vehicle 2. Locationmodule 22 may determine that a maximum range associated with Bluetoothsignal data is less than a threshold distance for indicating whetherwearable computing device 10 is collocated with transportation vehicle2. Location module 22 may determine that by receiving the Bluetoothcommunication radio data that the location of wearable computing device10 is within the threshold distance of transportation vehicle 2 orotherwise indicate the detection of a presence of transportation vehicle2.

In some examples, location module 22 may interpret information containedin signal data received from transportation vehicle 2 to determine thatthe signal data did in fact originate at transportation vehicle 2. Someexamples of wearable computing device 10 detecting a presence oftransportation vehicle 2 may be examples when location module 22 detectssignal data originating from transportation vehicle 2. In some examples,mobile computing device 8 may detect the presence of transportationvehicle 2 and send information to wearable computing device 10 and/orremote computing system 6 indicating the presence of transportationvehicle 2.

In some examples, location module 22 may determine that an acceleration,speed, or direction associated with computing device 10 indicates that auser of computing device 10 is within a moving vehicle. For instance, ifthe speed of computing device 10 exceeds a speed threshold (e.g., 55miles per hour), the location module 22 may infer that the user ofcomputing device 10 is in a moving vehicle traveling at highway speeds.

Location module 22 may provide an alert to driver module 24 thatindicates the location of wearable computing device 10 is collocatedwith transportation vehicle 2. After receiving the alert, driver module24 may detect an indication of movement associated with wearablecomputing device 10. For instance, driver module 24 may receiveaccelerometer data, gyroscope data, speedometer data, etc. from sensors14. Driver module 24 may detect a change in the location and sensor datafrom sensors 14 indicating that wearable computing device 10 has moved.

In response to the indication of movement, driver module 24 maydetermine whether a person wearing wearable computing device 10 isdriving transportation vehicle 2. For example, driver module 24 maydetermine whether the person is driving transportation vehicle in orderto determine whether to output information to UI module 20 to cause UImodule 20 to alter the presentation of a user interface at UID 12 or tootherwise cause wearable computing device 10 to perform an operation ifdriver module 24.

In some examples, location module 22 may rely on image data captured bya camera of wearable computing device 10 and/or mobile computing device8 to infer whether the person wearing wearable computing device iswithin the presence or otherwise located within transportation vehicle2. For instance, wearable computing device 10 may include a camera asone example of sensor devices 14. Location module 22 may receive imagedata captured by the camera and compare the captured image data to oneor more stored images of vehicle parts (e.g., pedals, steering wheel,gauges, dials, buttons, seats, views from within, etc.) or logos (e.g.,car manufacturer logos, etc.). If location module 22 receives image datathat corresponds to one or more of these known or stored imagesassociated with transportation vehicle 2 then location module 22 mayalert driver module 24 that the person wearing wearable computing device10 is located within or in the presence of transportation vehicle 2.

In some examples, to determine whether the person is driving, drivermodule 24 may output the location and sensor data gathered by sensors 14and/or other information specifying the indication of movement detectedby driver module 24 to driving probability module 30 of remote computingsystem 6. Based at least in part on the indication of movement receivedfrom driver module 24, driving probability module 30 may determine aprobability that a person wearing wearable computing device 8 isperforming an act of driving. For example, driving probability module 30may compare the gyroscopic data, acceleration data, speed data,barometric pressure data, etc. to one or more patterns of location andsensor data stored at driving patterns data store 32.

A machine learning system of driving probability module 30 may receivethe location and sensor data from wearable computing device 10 as input,and by using rules for predicting acts of driving based on location andsensor data, the machine learning system may output a probability thatthe person wearing the computing device from which the location andsensor data was received, is performing an act of driving. For example,the machine learning system of driving probability module 30 may analyzebarometric pressure data received from wearable computing device 10 todetermine relative changes in elevation of wearable computing device 10.The variation in barometric pressure can be used by the machine learningsystem to determine small changes in elevation that may indicate whethera person wearing wearable computing device 10 is moving his or hand upand down in a way that is consistent with a pattern of movementassociated with driving a vehicle. For example, a person who wearswearable computing device 10 may cause the elevation of wearablecomputing device 10 to change as the person steers a steering wheel,moves a gear shift, etc.

The techniques described herein are not limited to a machine learningsystem. For example, driving probability module 30 may rely on a machinelearning system as described above, and/or manually engineeredheuristics programmed into driving probability module 30 to make adetermination as to the probability that a person is performing an actof driving or otherwise driving or operating a moving vehicle.

In any event, the machine learning system of driving probability module30 may produce one or more probabilities indicating whether a personassociated with the location and sensor data is performing an act ofdriving. Driving probability module 30 may compare the one or moreprobabilities to one or more respective probability thresholds fordetermining whether the person associated with the location and sensordata is driving a transportation vehicle. In some examples, drivingprobability module 30 may output the one or more probabilities to drivermodule 24 and driver module 24 may use the probabilities to determinewhether a person wearing wearable computing device 10 is drivingtransportation vehicle 2.

Responsive to determining that the probability satisfies a probabilitythreshold, wearable computing device 10 may determine that the personwearing wearable computing device 10 is currently driving thetransportation vehicle. For example, driver module 24 may receive one ormore probabilities from remote computing system 6 and compare each ofthe one or more probabilities to respective probability thresholds todetermine whether the values of the probabilities exceed the values(e.g., 50%, etc.) of the probability thresholds. In some examples, if asufficient quantity of probabilities are satisfied, driver module 24and/or driving probability module 30 may determine that the personwearing wearable computing device 10 is performing drivingtransportation vehicle 2.

If driver module 24 determines or otherwise receives informationindicating that the person wearing wearable computing device 10 isdriving, wearable computing device 10 may perform, based on thedetermination that the person wearing wearable computing device 10 isthe driver, an operation. For example driver module 24 may outputinformation to UI module 20 indicating that the person wearing wearablecomputing device 10 is currently driving the transportation vehicle 2.

In response to receiving information that the person is that the persondriving transportation vehicle 2, UI module 20 may cause UID 12 torefrain from outputting information for display, may enable or disablefeatures provided by wearable computing device 10, or may cause wearablecomputing device 10 to perform some other operation. For example, UImodule 20 may enable an audio feedback and voice recognition system inresponse to receiving information that the person is that the persondriving transportation vehicle 2 to prevent the person from viewing orotherwise navigating through information displayed at UID 12. UI module20 may disable UID 12 or prevent access to certain features of wearablecomputing device 10 that may be dangerous or otherwise be a distractionto the person while driving transportation vehicle 2.

In some examples, wearable computing device 10 may output dataindicating that the person is driving to remote computing system 6 foruse in generating additional rules that driving probability module 30 orother wearable computing devices may use to determine whether a personis driving. In some examples, wearable computing device 10 may outputinformation over network 34 to mobile computing device 8 that causesmobile computing device 8 to enable or disable one or more featuresprovided to the person wearing wearable computing device 10 whiledriving. For example, mobile computing device 8 may disable text basedmessaging functions in response to receiving information from wearablecomputing device 10 that the person is driving. In other examples,mobile computing device 8 may enable speech-to-text based messagingfunctions in response to receiving such information.

In this way, techniques of this disclosure may enable a wearablecomputing device to automatically perform one or more operations basedon a determination that a person wearing the wearable computing deviceis also driving a transportation vehicle. By automatically performingoperations based on an inference that the person is driving thetransportation vehicle, and not just based on a determination that theperson is a passenger, the person wearing the wearable computing devicemay perceive the wearable computing device as being more accurate and/ormore useful than some other computing devices that may generally performoperations in all instances whenever the person is a driving and anon-driving passenger in a transportation vehicle.

Although the example system 1 of FIG. 1 includes a mobile phone and aremote computing device, it should be understood that the techinques ofthis disclosure may be performed entirely by a wearable computing devicesuch as wearable computing device 10. In some examples, the techniquesmay be mostly performed by a mobile computing device, such as mobilecomputing device 8, that merely relies on sensor data obtained bywearable computing device 10 to make a determination about whether aperson who is wearing a wearable computing device is driving atransportation vehicle. In some examples, the techniques may be mostlyperformed by a mobile computing device such as mobile computing device 8and/or mostly performed by a remote computing system such as remotecomputing system 6 that merely relies on sensor data obtained bywearable computing device 10 to make a determination about whether aperson who is wearing a wearable computing device is driving atransportation vehicle.

Throughout the disclosure, examples are described where a computingsystem (e.g., a server, etc.) and/or computing device (e.g., a wearablecomputing device, etc.) may analyze information (e.g., locations,speeds, accelerations, orientations, etc.) associated with the computingsystem and/or computing device, only if the computing system and/orcomputing device receives permission from a user (e.g., a person wearinga wearable computing device) to analyze the information. For example, insituations discussed below in which the mobile computing device maycollect or may make use of information associated with the user and thecomputing system and/or computing device, the user may be provided withan opportunity to provide input to control whether programs or featuresof the computing system and/or computing device can collect and make useof user information (e.g., information about a user's e-mail, a user'ssocial network, social actions or activities, profession, a user'spreferences, or a user's past and current location), or to dictatewhether and/or how to the computing system and/or computing device mayreceive content that may be relevant to the user. In addition, certaindata may be treated in one or more ways before it is stored or used bythe computing system and/or computing device, so thatpersonally-identifiable information is removed. For example, a user'sidentity may be treated so that no personally identifiable informationcan be determined about the user, or a user's geographic location may begeneralized where location information is obtained (such as to a city,ZIP code, or state level), so that a particular location of a usercannot be determined. Thus, the user may have control over howinformation is collected about the user and used by the computing systemand/or computing device.

FIG. 2 is a block diagram illustrating an example wearable deviceconfigured to determine whether a person wearing the wearable computingdevice is driving a transportation vehicle, in accordance with one ormore aspects of the present disclosure. Wearable computing device 10 ofFIG. 2 is described below within the context of system 1 of FIG. 1. FIG.2 illustrates only one particular example of wearable computing device10 of system 1, and many other examples of wearable computing device 10may be used in other instances and may include a subset of thecomponents included in example wearable computing device 10 or mayinclude additional components not shown in FIG. 2.

As shown in the example of FIG. 2, wearable computing device 10 includesuser interface device 12 (“UID 12”), one or more sensor devices 14, oneor more processors 40, one or more input devices 42, one or morecommunication units 44, one or more output devices 46, and one or morestorage devices 48. Storage devices 48 of wearable computing device 10also include UI module 20, location module 22, and driver module 24, andapplication modules 34A-34N (collectively referred to as, “applicationmodules 34”). Driver module 24 includes driving probability module 26and driving patterns data store 28. Communication channels 50 mayinterconnect each of the components 12, 14, 20, 22, 24, 26, 28, 34, 40,42, 44, and 46 for inter-component communications (physically,communicatively, and/or operatively). In some examples, communicationchannels 50 may include a system bus, a network connection, aninter-process communication data structure, or any other method forcommunicating data.

One or more input devices 42 of wearable computing device 10 may receiveinput. Examples of input are tactile, audio, and video input. Inputdevices 42 of wearable computing device 10, in one example, includes apresence-sensitive display, touch-sensitive screen, mouse, keyboard,voice responsive system, video camera, microphone or any other type ofdevice for detecting input from a human or machine.

One or more output devices 46 of wearable computing device 10 maygenerate output. Examples of output are tactile, audio, and videooutput. Output devices 46 of wearable computing device 10, in oneexample, includes a presence-sensitive display, sound card, videographics adapter card, speaker, cathode ray tube (CRT) monitor, liquidcrystal display (LCD), or any other type of device for generating outputto a human or machine.

One or more communication units 44 of wearable computing device 10 maycommunicate with external devices (e.g., computing device 8,transportation vehicle 2, remote computing system 6, and the like) viaone or more networks by transmitting and/or receiving network signals onthe one or more networks. For example, wearable computing device 10 mayuse communication unit 44 to send and receive data to and from remotecomputing system 6 of FIG. 1. Wearable computing device 10 may usecommunication unit 44 to transmit and/or receive radio signals on aradio network such as a cellular radio network. Likewise, communicationunits 44 may transmit and/or receive satellite signals on a satellitenetwork such as a global positioning system (GPS) network. Examples ofcommunication unit 44 include a network interface card (e.g. such as anEthernet card), an optical transceiver, a radio frequency transceiver, aGPS receiver, or any other type of device that can send and/or receiveinformation. Other examples of communication units 44 may include shortwave radios, cellular data radios, wireless Ethernet network radios, aswell as universal serial bus (USB) controllers.

In some examples, UID 12 of wearable computing device 10 may includefunctionality of input devices 42 and/or output devices 46. In theexample of FIG. 2, UID 12 may be or may include a presence-sensitiveinput device. In some examples, a presence sensitive input device maydetect an object at and/or near a screen. In one example, apresence-sensitive input device of UID 12 may detect an object, such asa finger or stylus that is within 2 inches or less of the screen. Thepresence-sensitive input device may determine a location (e.g., an (x,y)coordinate) of a screen at which the object was detected. In anotherexample range, a presence-sensitive input device may detect an objectsix inches or less from the screen and other ranges are also possible.The presence-sensitive input device may determine the location of thescreen selected by a user's finger using capacitive, inductive, and/oroptical recognition techniques. In some examples, presence sensitiveinput device also provides output to a user using tactile, audio, orvideo stimuli as described with respect to output device 46, e.g., at adisplay. UI module 20 may cause UID 12 to present a graphical userinterface. Said differently, UI module 20 may cause UID 12 to output agraphical user interface for display at a screen of a display device.

While illustrated as an internal component of wearable computing device10, UID 12 also represents and external component that shares a datapath with wearable computing device 10 for transmitting and/or receivinginput and output. For instance, in one example, UID 12 represents abuilt-in component of wearable computing device 10 located within andphysically connected to the external packaging of wearable computingdevice 10 (e.g., a screen on a mobile phone). In another example, UID 12represents an external component of wearable computing device 10 locatedoutside and physically separated from the packaging of wearablecomputing device 10 (e.g., a monitor, a projector, etc. that shares awired and/or wireless data path with a tablet computer).

One or more storage devices 48 within wearable computing device 10 maystore information for processing during operation of wearable computingdevice 10 (e.g., wearable computing device 10 may store data, forinstance as driving patterns data store 28, accessed by modules 20, 22,24, 26, and 34 during execution at wearable computing device 10). Insome examples, storage device 48 is a temporary memory, meaning that aprimary purpose of storage device 48 is not long-term storage. Storagedevices 48 on wearable computing device 10 may configured for short-termstorage of information as volatile memory and therefore not retainstored contents if powered off. Examples of volatile memories includerandom access memories (RAM), dynamic random access memories (DRAM),static random access memories (SRAM), and other forms of volatilememories known in the art.

Storage devices 48, in some examples, also include one or morecomputer-readable storage media. Storage devices 48 may be configured tostore larger amounts of information than volatile memory. Storagedevices 48 may further be configured for long-term storage ofinformation as non-volatile memory space and retain information afterpower on/off cycles. Examples of non-volatile memories include magnetichard discs, optical discs, floppy discs, flash memories, or forms ofelectrically programmable memories (EPROM) or electrically erasable andprogrammable (EEPROM) memories. Storage devices 48 may store programinstructions and/or data associated with modules 20, 22, 24, and 26 anddata stores 28.

One or more processors 40 may implement functionality and/or executeinstructions within wearable computing device 10. For example,processors 40 on wearable computing device 10 may receive and executeinstructions stored by storage devices 48 that execute the functionalityof UI module 20, location module 22, driver module 24, drivingprobability module 26, and application modules 34. These instructionsexecuted by processors 40 may cause wearable computing device 10 tostore information, within storage devices 48 during program execution.Processors 40 may execute instructions of modules 20, 22, 24, 26, and 34to cause wearable computing device 10 to execute an operation when aperson wearing computing device 10 is driving a transportation vehicle.For instance, processors 40 may execute instructions of module 20, 22,24, 26, and 34 to activate a voice-to-text feature of wearable computingdevice 10 and/or suppress touch-based input at computing device 8 when aperson wearing wearable computing device 10 is driving.

Application modules 34 may include any type of application thatcomputing device 2 may execute in response to determining that a personwearing wearable computing device 10 is driving a transportationvehicle. For example, application modules 14 may include aspeech-to-text application, a hands-free application, a navigationapplication, a turn-by-turn driving directions application, atext-to-audio application, an emergency assistance application, atelephone application, or any other type of application that may be usedby a person wearing a wearable computing device while driving atransportation vehicle. Application modules 34 may be stand-aloneapplications or processes. In some examples, application modules 34represent only a portion or some functionality of one or more otherapplications or systems. In some examples, applications modules 34represent an operating system or computing platform of wearablecomputing device 34 for executing or controlling features and operationsperformed by other applications.

In accordance with techniques of this disclosure, location module 22 ofwearable computing device 10 may detect a presence of transportationvehicle 2. For example, communication units 44 may receive Bluetoothsignal data, location data, and/or other signal data being transmittedfrom transportation vehicle 2. Location module 22 may determine (e.g.,based on values attributed to the signal data, an identifier associatedwith the signal data, etc.) that transportation vehicle 2 generates thesignal data. Location module 22 may determine that the range of thesignal data satisfies (e.g., is less than or equal to) a thresholddistance (e.g., several feet, several, meters, etc.). For example, oneexample range of signal data may be between zero and one hundred metersor approximately three hundred thirty feet for a Bluetooth signal.Bluetooth low energy signals may have a range from between zero to fiftymeters or one hundred sixty feet. In response to receiving a Bluetoothsignal, location module 22 may infer that the origin of the signal datais less than the range (e.g., less than one hundred meters in oneexample, less than fifty meters in another example, etc.). Other typesof signal data include near field communication (NFC). The range of NFCsignals may be on the order of twenty centimeters or less. Locationmodule 22 may rely on a distance threshold set to a maximum range of aparticular type of signal data (e.g., low energy Bluetooth). If wearablecomputing device 10 detects a signal having a maximum range (e.g., 50meters) that is less than the distance threshold used by location module22, location module 22 may infer that wearable computing device 10 is inrange or in the presence of the origin of the signal data (e.g.,transportation vehicle 2).

In some examples, location module 22 may rely on movement data detectedby a separate mobile computing device (e.g., mobile computing device 8)to determine that wearable computing device 10 is in, on, within orotherwise in the presence of a transportation vehicle such astransportation vehicle 2. In some examples, wearable computing device 10may detect a vibration (e.g., from a bumpy road, an engine, etc.) anddetermine that wearable computing device 10 is within the presence of atransportation vehicle. For instance, location module 22 may receiveaccelerometer data or other vibration data from one of sensors 14 andcompare the vibration data to a pattern of sensor data associated with amoving vehicle. Location module 22 may determine that when the vibrationdata shares a strong correlation (e.g., greater than 0.5) to a pattern,that wearable computing device 10 may be located within a movingvehicle.

In some examples, location module 22 may receive information from amobile computing device, such as mobile computing device 8, thatincludes data indicating that the mobile computing device has inferredthat wearable computing device 10 is in the presence of transportationvehicle 2. Said differently, the techniques described above with respectto location module 22 may be performed onboard a mobile computingplatform that is separate from wearable computing device 10 (e.g., amobile phone, a vehicle computer, etc.) and location module 22 may relyon the determination performed by the separate mobile computing deviceto determine that wearable computing device 10 is in the presence oftransportation vehicle 2.

Location module 22 may determine that the receipt of such data, having arange being less than the threshold distance, indicates that wearablecomputing device 10 is in the presence of transportation vehicle 2.Location module 22 may output an indication (e.g., data) to drivermodule 24 indicating to driver module 24 that wearable computing device10 is in the presence of transportation vehicle 2.

After location module 22 of wearable computing device 10 detects thepresence of transportation vehicle 2, driver module 24 of wearablecomputing device 10 may detect an indication of movement associated withwearable computing device 10. For instance, sensor devices 14 (e.g., anaccelerometer, a gyroscope, a barometer, etc.) may capture sensor datathat indicates a position, speed, a location, a direction, or otherdegree of movement associated with wearable computing device 10. Drivermodule 24 may receive one or more indications of movement (e.g., sensordata) from sensors 14 via communication channels 50.

Said differently, driver module 24 may receive sensor information fromsensors 14 and determine, based at least in part on one or more sensors14 of wearable computing device 10, at least a portion of the sensorinformation that indicates at least one of an acceleration of wearablecomputing device 10, an orientation of wearable computing device 10, anda barometric pressure of wearable computing device 10. Based on thesensor information, driver module 24 may define the indication ofmovement for use in determining whether a person wearing computingdevice 10 is driving. In other words, driver module 24 may convert theraw sensor data (e.g., gyroscopic data, accelerations, positions, etc.)into one or more indications of movement (e.g., data indicating adirection of movement, a speed of movement, an acceleration of movement,etc.) for later use in determining whether a person wearing wearablecomputing device 10 is driving.

In some examples, driver module 24 may detect an indication of movementassociated with transportation vehicle 2 and subtract the indication ofmovement associated with transportation vehicle 2 from the indication ofmovement associated with wearable computing device 10. In other words,to obtain a more precise indication of movement associated with wearablecomputing device 10 and/or to eliminate any noise or movement associatedwith transportation vehicle 2, driver module 24 may filter any movementattributable to transportation vehicle 2 from the indication of movementof wearable computing device 10 to determine the probability that theperson wearing wearable computing device 10 is driving. Saiddifferently, driver module 24 may isolate the movement that is morelikely attributed to a person moving wearable computing device 10 fromany movement that is more likely attributed to the movement oftransportation vehicle 2.

Driver module 24 of wearable computing device 10 may invoke drivingprobability module 26 to determine, based at least in part on theindication of movement, a probability that a person wearing wearablecomputing device 10 is performing an act of driving. Driver module 24may invoke driving probability module 30 of remote computing system 6 todetermine the probability. In other words, wearable computing device 10may in some examples determine a probability that the person wearingwearable computing device 10 is performing an act of driving, locally,or may rely on a determination of the probability by a remote server.

Driver module 24 may determine a probability that the person wearingwearable computing device 10 is performing a variety of acts of driving.For example, driver module 24 may determine a probability of thefollowing acts of driving: turning a steering wheel, shifting a gearshift, changing lanes, staying in a lane, changing acceleration whileshifting the gear shift, raising and lowering a hand of the personwearing wearable computing device 10, etc.

Driving probability module 26 may include similar logic andfunctionality as driving probability module 30 of remote computingsystem 6 of system 1 in FIG. 1 to determine the probability. Forinstance, driving probability module 26 may use the indications ofmovement (e.g., movement data) determined from the sensor data capturedby sensor devices 14 and compare the movement data to one or more storeddriving patterns at driving patterns data store 28.

Driving probability module 26 may compare gyroscopic data, accelerationdata, speed data, barometric pressure data, etc. captured by sensordevices 14 to one or more patterns of location and sensor data stored atdriving patterns data store 28. In some examples, rather than rely onactual sensor data, driving probability module 26 may compare definedindications of movement indicating orientations, positions, speeds,directions, elevations, etc. defined by sensor data to one or morepatterns of indications of movement stored at driving patterns datastore 28.

In any event, a machine learning system of driving probability module 26may receive the sensor data and from wearable computing device 10 asinput, and by using rules for predicting acts of driving based onlocation and sensor data, the machine learning system may output aprobability that the person wearing the computing device from which thelocation and sensor data was received, is performing an act of driving.

For example, the machine learning system of driving probability module26 may analyze gyroscopic and/or accelerometer data received fromwearable computing device 10 to determine relative changes in speedand/or direction of wearable computing device 10. The variation in speedand/or direction can be used by the machine learning system to determinesmall changes in speed and/or direction that may indicate whether aperson wearing wearable computing device 10 is moving his or hand orother appendage in a way that is consistent with a pattern of movementassociated with driving a vehicle. For example, a person who wearswearable computing device 10 may cause the direction and/or speed ofwearable computing device 10 to change as the person moves a gear shift,steers a steering wheel, etc.

The machine learning system of driving probability module 26 may produceone or more probabilities indicating whether a person associated withthe location and sensor data is performing an act of driving. Drivingprobability module 26 may compare the one or more probabilities to oneor more respective probability thresholds for determining whether theperson associated with the location and sensor data is drivingtransportation vehicle 2. In some examples, driving probability module26 may output the one or more probabilities to driver module 24 anddriver module 24 may use the probabilities to determine whether a personwearing wearable computing device 10 is driving transportation vehicle2.

Responsive to determining that the probability of the person who wearswearable computing device 10 satisfies a probability threshold, drivermodule 24 may determine that the person wearing the wearable computingdevice is currently driving transportation vehicle 2. In other words,driver module 24 may compare the probability that the person isperforming an act of driving to determine whether the probability ishigh enough and therefore indicates that the person is likely drivingtransportation vehicle 2.

In some examples, driver module 24 may determine that the person isdriving if and when a single probability that a person is performing anyone act of driving satisfies a threshold. In some examples, drivermodule 24 may compute a weighted average of probabilities of multipleacts of driving to determine whether the overall weighted probabilitysatisfies the threshold for indicating that the person is driving. Forexample, driver module 24 may determine a weighted average of theprobability that the person is turning a steering wheel, shifting a gearshift, and operating a pedal of a transportation vehicle. Driver module24 may determine that the person is driving if the weighted averageprobability of the multiple acts of driving satisfies the threshold. Inany event, driver module 24 may output information to other modules ofwearable computing device 10, such as UI module 20 and/or applicationmodules 34, to cause wearable computing device 10 to perform anoperation.

Wearable computing device 10 may perform, based on the determinationthat the person wearing wearable computing device 10 is currentlydriving transportation vehicle 2, an operation. For example, one or moreapplications 34 (e.g., as part of an application, process, platform,operating system, etc.) executing at wearable computing device 10 maylimit access to certain features of the applications 34 in response toreceiving information from driver module 24 that the person wearingwearable computing device 10 is currently driving. In some examples, oneor more other applications or operating systems executing remotely towearable computing device 10 (e.g., at mobile computing device 8) mayreceive the indication from driver module 24 that the person is drivingand in response to receiving the information from driver module 24,these one or more other applications or operating systems may limitaccess to certain features.

Said differently, wearable computing device 10 may restrict access to atleast some functionality of an application or operating system (e.g.,applications 34) being executed by at least one of the wearablecomputing device or a second computing device. For example, mobilecomputing device 8 may prevent a person from accessing a virtualkeyboard or a messaging application associated with mobile computingdevice 8 when the person is driving, wearable computing device 10 mayprevent UID 12 from receiving input when the person is driving, etc.

In some examples, in performing the operation in response to determiningthat the person is driving, wearable computing device 10 may output, fortransmission to at least one second computing device, information usableby the at least one second computing device to learn driving habits ofthe person that is wearing the wearable computing device and/or to learna driving route associated with the person. Said differently, throughcommunication units 44, driver module 24 may output indications (e.g.,data) to remote computing system 6 containing information specifyingwhen, where, and how driver module 24 determines that the person isdriving, information specifying sensor data captured by sensor devices14 used to discern that the person is driving, information for providingdriving patterns or driving habits of the person that is driving, andother types of information about the time and/or location of the personand wearable computing device 10 when wearable computing device 10determined that the person is driving. Remote computing system 6 may usethe information received from wearable computing device 10 when theperson is driving to generate one or more rules of a machine learningsystem for predicting when the person and/or other persons of otherwearable computing devices are driving, where the person and/or otherpersons may drive and the route or routes the person and/or otherpersons may take.

In some examples, in performing the operation in response to determiningthat the person is driving, wearable computing device 10 may deactivatea display device that is operatively coupled to at least one of wearablecomputing device 10 and a second computing device. For instance, UImodule 20 may receive information from driver module 24 indicating thatthe person is driving and in response, deactivate UID 12 and cause UID12 to cease outputting information for display. Mobile computing device8 (e.g., the person's mobile phone) may receive information from drivermodule 24 indicating that the person is driving and in response,deactivate a screen, a display device, or other input/output device ofmobile computing device 8.

Some computing systems and/or devices may perform operations or offerfeatures depending on whether a user of such a system is actuallydriving or whether the person is simply riding in a transportationvehicle. For example, a system or device that provides a contextual userinterface (e.g., an interface that may change depending on the time ofday, user's emotion, user's location, etc.) may rely on information thatindicates whether the user of the system is driving. One objective ofsuch a system or device may be to promote safety and “save lives” by“locking out” a messaging service (e.g., SMS) provided by the system ordevice while the user is driving. Such a system or device may be unableto determine whether the person is driving based on accelerometer datadetected by a mobile phone since both a driver and a passenger will seesimilar acceleration values regardless whether either is actuallydriving. Hence, some systems or devices may require the ability todetect wither a person is driving to offer such functionality withaccuracy and without annoying non-driving passengers. A system (e.g., awearable computing device, a server, a mobile device, etc.) inaccordance with techniques of this disclosure may offer this type ofcapability.

By using data obtained by a wearable computing device (e.g., a smartwatch), a computing system and/or device can receive accurateinformation identifying whether a person is a driver or a passenger. Thetechniques may also provide a way, for example, for a system and/ordevice to learn and begin to understand historical driving patterns(e.g., how much of the time was the user a passenger and how much werethey a driver). The techniques may also be used to eliminate and improvethe prediction of activities (e.g. if we detect that the user isdriving, then they are probably not on a bus). In some examples, lowenergy beacons (e.g., Bluetooth beacons) may be located at oppositesides of a transportation vehicle to internally localize the position ofa person who wears a wearable computing device to determine whether thatperson is driving or a passenger.

FIG. 3 is a block diagram illustrating an example computing device thatoutputs graphical content for display at a remote device, in accordancewith one or more techniques of the present disclosure. Graphicalcontent, generally, may include any visual information that may beoutput for display, such as text, images, a group of moving images, etc.The example shown in FIG. 3 includes computing device 100,presence-sensitive display 101, communication unit 110, projector 120,projector screen 122, mobile device 126, and visual display device 130.Although shown for purposes of example in FIGS. 1 and 2 as a stand-alonewearable computing device 10, a computing device such as computingdevices 10 and 100 may, generally, be any component or system thatincludes a processor or other suitable computing environment forexecuting software instructions and, for example, need not include apresence-sensitive display.

As shown in the example of FIG. 3, computing device 100 may be aprocessor that includes functionality as described with respect toprocessor 40 in FIG. 2. In such examples, computing device 100 may beoperatively coupled to presence-sensitive display 101 by a communicationchannel 102A, which may be a system bus or other suitable connection.Computing device 100 may also be operatively coupled to communicationunit 110, further described below, by a communication channel 102B,which may also be a system bus or other suitable connection. Althoughshown separately as an example in FIG. 3, computing device 100 may beoperatively coupled to presence-sensitive display 101 and communicationunit 110 by any number of one or more communication channels.

In other examples, such as illustrated previously by wearable computingdevice 10 and computing device 8 in FIGS. 1-2, a computing device mayrefer to a portable or mobile device such as mobile phones (includingsmart phones), laptop computers, computing watches, computing eyeglasses, wearable computing devices, etc. In some examples, a computingdevice may be a desktop computers, tablet computers, smart televisionplatforms, cameras, personal digital assistants (PDAs), servers,mainframes, etc.

Presence-sensitive display 101 may include display device 103 andpresence-sensitive input device 105. Display device 103 may, forexample, receive data from computing device 100 and display thegraphical content. In some examples, presence-sensitive input device 105may determine one or more inputs (e.g., continuous gestures, multi-touchgestures, single-touch gestures, etc.) at presence-sensitive display 101using capacitive, inductive, and/or optical recognition techniques andsend indications of such input to computing device 100 usingcommunication channel 102A. In some examples, presence-sensitive inputdevice 105 may be physically positioned on top of display device 103such that, when a user positions an input unit over a graphical elementdisplayed by display device 103, the location at whichpresence-sensitive input device 105 corresponds to the location ofdisplay device 103 at which the graphical element is displayed. In otherexamples, presence-sensitive input device 105 may be positionedphysically apart from display device 103, and locations ofpresence-sensitive input device 105 may correspond to locations ofdisplay device 103, such that input can be made at presence-sensitiveinput device 105 for interacting with graphical elements displayed atcorresponding locations of display device 103.

As shown in FIG. 3, computing device 100 may also include and/or beoperatively coupled with communication unit 110. Communication unit 110may include functionality of communication unit 44 as described in FIG.2. Examples of communication unit 110 may include a network interfacecard, an Ethernet card, an optical transceiver, a radio frequencytransceiver, or any other type of device that can send and receiveinformation. Other examples of such communication units may includeBluetooth, 3G, and Wi-Fi radios, Universal Serial Bus (USB) interfaces,etc. Computing device 100 may also include and/or be operatively coupledwith one or more other devices, e.g., input devices, output devices,memory, storage devices, etc. that are not shown in FIG. 3 for purposesof brevity and illustration.

FIG. 3 also illustrates a projector 120 and projector screen 122. Othersuch examples of projection devices may include electronic whiteboards,holographic display devices, and any other suitable devices fordisplaying graphical content. Projector 120 and projector screen 122 mayinclude one or more communication units that enable the respectivedevices to communicate with computing device 100. In some examples, theone or more communication units may enable communication betweenprojector 120 and projector screen 122. Projector 120 may receive datafrom computing device 100 that includes graphical content. Projector120, in response to receiving the data, may project the graphicalcontent onto projector screen 122. In some examples, projector 120 maydetermine one or more inputs (e.g., continuous gestures, multi-touchgestures, single-touch gestures, etc.) at projector screen 122 usingoptical recognition or other suitable techniques and send indications ofsuch input using one or more communication units to computing device100. In such examples, projector screen 122 may be unnecessary, andprojector 120 may project graphical content on any suitable medium anddetect one or more user inputs using optical recognition or other suchsuitable techniques.

Projector screen 122, in some examples, may include a presence-sensitivedisplay 124. Presence-sensitive display 124 may include a subset offunctionality or all of the functionality of UI device 4 as described inthis disclosure. In some examples, presence-sensitive display 124 mayinclude additional functionality. Projector screen 122 (e.g., anelectronic display of computing eye glasses), may receive data fromcomputing device 100 and display the graphical content. In someexamples, presence-sensitive display 124 may determine one or moreinputs (e.g., continuous gestures, multi-touch gestures, single-touchgestures, etc.) at projector screen 122 using capacitive, inductive,and/or optical recognition techniques and send indications of such inputusing one or more communication units to computing device 100.

FIG. 3 also illustrates mobile device 126, visual display device 130,and wearable computing device 134. Devices 126, 130, and 134 may eachinclude computing and connectivity capabilities. One example of mobiledevice 126 may be computing device 8 of FIG. 1. Other examples of mobiledevice 126 may include e-reader devices, convertible notebook devices,and hybrid slate devices. Examples of visual display devices 130 mayinclude other semi-stationary devices such as televisions, computermonitors, etc. One example of wearable computing device 134 may bewearable computing device 10 of FIG. 1. Other examples of wearablecomputing device 134 include computerized watches, computerizedeyeglasses, etc.

As shown in FIG. 3, mobile device 126 may include a presence-sensitivedisplay 128. Visual display device 130 may include a presence-sensitivedisplay 132. Wearable computing device 134 may include apresence-sensitive display 136. Presence-sensitive displays 128, 132,and 136 may include a subset of functionality or all of thefunctionality of UID 12 as described in this disclosure. In someexamples, presence-sensitive displays 128, 132, and 136 may includeadditional functionality. In any case, presence-sensitive displays 128,132, and 136, for example, may receive data from computing device 100and display the graphical content. In some examples, presence-sensitivedisplays 128, 132, and 136 may determine one or more inputs (e.g.,continuous gestures, multi-touch gestures, single-touch gestures, etc.)at projector screen using capacitive, inductive, and/or opticalrecognition techniques and send indications of such input using one ormore communication units to computing device 100.

As described above, in some examples, computing device 100 may outputgraphical content for display at presence-sensitive display 101 that iscoupled to computing device 100 by a system bus or other suitablecommunication channel. Computing device 100 may also output graphicalcontent for display at one or more remote devices, such as projector120, projector screen 122, mobile device 126, visual display device 130,and wearable computing device 134. For instance, computing device 100may execute one or more instructions to generate and/or modify graphicalcontent in accordance with techniques of the present disclosure.Computing device 100 may output the data that includes the graphicalcontent to a communication unit of computing device 100, such ascommunication unit 110. Communication unit 110 may send the data to oneor more of the remote devices, such as projector 120, projector screen122, mobile device 126, visual display device 130, and/or wearablecomputing device 134. In this way, computing device 100 may output thegraphical content for display at one or more of the remote devices. Insome examples, one or more of the remote devices may output thegraphical content at a presence-sensitive display that is included inand/or operatively coupled to the respective remote devices.

In some examples, computing device 100 may not output graphical contentat presence-sensitive display 101 that is operatively coupled tocomputing device 100. In other examples, computing device 100 may outputgraphical content for display at both a presence-sensitive display 101that is coupled to computing device 100 by communication channel 102A,and at one or more remote devices. In such examples, the graphicalcontent may be displayed substantially contemporaneously at eachrespective device. For instance, some delay may be introduced by thecommunication latency to send the data that includes the graphicalcontent to the remote device. In some examples, graphical contentgenerated by computing device 100 and output for display atpresence-sensitive display 101 may be different than graphical contentdisplay output for display at one or more remote devices.

Computing device 100 may send and receive data using any suitablecommunication techniques. For example, computing device 100 may beoperatively coupled to external network 114 using network link 112A.Each of the remote devices illustrated in FIG. 3 may be operativelycoupled to network external network 114 by one of respective networklinks 112B, 112C, and 112D. External network 114 may include networkhubs, network switches, network routers, etc., that are operativelyinter-coupled thereby providing for the exchange of information betweencomputing device 100 and the remote devices illustrated in FIG. 3. Insome examples, network links 112A-112D may be Ethernet, ATM or othernetwork connections. Such connections may be wireless and/or wiredconnections.

In some examples, computing device 100 may be operatively coupled to oneor more of the remote devices included in FIG. 3 using direct devicecommunication 118. Direct device communication 118 may includecommunications through which computing device 100 sends and receivesdata directly with a remote device, using wired or wirelesscommunication. That is, in some examples of direct device communication118, data sent by computing device 100 may not be forwarded by one ormore additional devices before being received at the remote device, andvice-versa. Examples of direct device communication 118 may includeBluetooth, Near-Field Communication, Universal Serial Bus, Wi-Fi,infrared, etc. One or more of the remote devices illustrated in FIG. 3may be operatively coupled with computing device 100 by communicationlinks 116A-116D. In some examples, communication links 112A-112D may beconnections using Bluetooth, Near-Field Communication, Universal SerialBus, infrared, etc. Such connections may be wireless and/or wiredconnections.

Computing device 100 may be operatively coupled to visual display device130 using external network 114. Computing device 100 may determine,based on one or more indications of movement and at least one indicationthat wearable computing device 134 is in the presence of transportationvehicle 2, a probability that a person wearing wearable computing device134 is performing an act of driving. For example, a driving probabilitymodule of computing device 100 may obtain information from wearablecomputing device 134 that includes one or more indications (e.g., data)of movement associated with wearable computing device 134. The movementdata may indicate an acceleration, an orientation, and/or an elevationof wearable computing device 134. The driving probability module ofcomputing device 100 may also receive information from wearablecomputing device 134 indicating that wearable computing device 134 iscommunicating via Bluetooth with transportation vehicle 2. Computingdevice 100 may infer that wearable computing device 134 is in thepresence of transportation vehicle 2 when wearable computing device 134is communicating via Bluetooth with transportation vehicle 2

The driving probability module of computing device 100 may compare theindications of movement associated with wearable computing device 134 toone or more patterns of movement associated with driving actions (e.g.,turning a steering wheel, depressing a pedal, moving a gear shift, andthe like). For example, computing device 100 may compare the movementdata to indications of movement associated with turning a steering wheelof transportation vehicle 2, moving a gear shift of transportationvehicle 2, etc. Computing device 100 may compute an overall probabilitythat the person wearing wearable computing device 134 is performing anact of driving if the patterns associated with any one of the drivingacts match (e.g., have a correlation value greater than 0.5 or 50%) thepattern of movement associated with the movement data.

Computing device 100 may compare the probability that the person wearingwearable computing device 134 is performing an act of driving to aprobability threshold for determining whether the person is driving.Computing device 100 may determine that the probability satisfies theprobability threshold and, in response, output information to wearablecomputing device 134 to configure device 134 to perform an operation, anaction, and/or otherwise provide a function related to driving. Forexample, computing device 100 may output graphical information fortransmission to device 134 in addition to providing instructions forcausing wearable computing device 134 device to present a graphical userinterface at presence-sensitive screen 136 based on the graphicalinformation. Computing device 100 may send the graphical information towearable computing device 134 via communication unit 110 and externalnetwork 114. Presence-sensitive screen 128 may receive the informationand present a graphical indication that computing device 100 predictsthe person wearing wearable computing device 134 is driving.

FIG. 4 is a flowchart illustrating example operations of an examplewearable computing device configured to determine whether a personwearing the wearable computing device is driving a transportationvehicle, in accordance with one or more aspects of the presentdisclosure. The process shown in FIG. 4 may be performed by one or moreprocessors of a computing device, such as wearable computing devices 10and 100 illustrated in FIG. 1, FIG. 2, and FIG. 3. For purposes ofillustration, FIG. 4 is described below within the context of computingsystem 1 of FIG. 1.

Wearable computing device 10 may detect that the wearable computingdevice is located within a moving vehicle (200). For example, locationmodule 22 may correlate signal data having an identifier oftransportation vehicle 2 indicates that wearable computing device 10 isin the presence of transportation vehicle 2.

After wearable computing device 10 detects the presence of thetransportation vehicle, wearable computing device 10 may detect anindication of movement associated with wearable computing device 10(210). For instance, driver module 24 of wearable computing device 10may receive signal data obtained by an accelerometer, a gyroscope, abarometer, or other sensor of wearable computing device 10 and based onthat signal data, driver module 24 may define one or more indications ofmovement associated with wearable computing device 10. The one or moreindications of movement may indicate a direction, a speed, anorientation, etc. of wearable computing device 10.

Wearable computing device 10 may determine, based at least in part onthe indication of movement, a probability that a user of the wearablecomputing device 10 is performing an act of driving (220). For example,wearable computing device 10 may output, data or other forms ofinformation that define the one or more indications of movementassociated with wearable computing device 10 to mobile computing device8 and/or remote computing system 6. Driving probability module 30 ofremote computing system 6 or a similar driving probability module ofmobile computing device 8, may analyze the information received fromwearable computing device 10 to determine whether the informationmatches sensor data associated with one or more predefined and/orlearned driving patterns. Remote computing system 6 and/or mobilecomputing device 8 may computer one or more probabilities that theperson wearing wearable computing device 10 is performing an act ofdriving. Wearable computing device 10 may then receive back, from mobilecomputing device 8 and/or remote computing system 6, informationcontaining the one or more probabilities that the person wearingwearable computing device 10 is performing an act of driving.

Said differently, wearable computing device 10 may output, fortransmission to at least one second computing device, informationcomprising the one or more indications of movement. Responsive tooutputting the information comprising the one or more indications ofmovement, wearable computing device 10 may receive, from the at leastone second computing device, the probability that the person wearingwearable computing device 10 is performing the act of driving.

In some examples, wearable computing device 10 may determine a relativeelevation between wearable computing device 10 and at least one secondcomputing device associated with the person wearing the wearablecomputing device, and determine, based at least in part on the relativeelevation, the probability that the person wearing wearable computingdevice 10 is performing the act of driving. For example, the personwearing wearable computing device 10 may also rely on mobile computingdevice 8, for instance, to make phone calls. If the person is drivingwhile wearing wearable computing device 10, for example, on his or herwrist, he or she may place his or her phone (e.g., mobile computingdevice 8) in a console of transportation vehicle 2 or in his or herpocket. In any event, the elevation of mobile computing device 8 whileeither in the console or in the pocket may remain fixed, relative to theinterior of the passenger compartment of transportation vehicle 2. Incontrast, the elevation of wearable computing device 10 may changerelative to the interior of the passenger compartment of transportationvehicle 2 (e.g., as the person moves the arm at which wearable computingdevice 10 is attached as the person performs various acts of driving).Wearable computing device 10 may identify changes in the differencebetween the elevation of mobile computing device 8 and wearablecomputing device 10 to determine when the person is driving.

For example, driver module 24 of wearable computing device 10 mayreceive sensor information from mobile computing device 8 that containsbarometric pressure information associated with mobile computing device8. In addition, driver module 24 may obtain barometric pressureinformation from one or more sensor devices 14 of wearable computingdevice 10. Driver module 24 of wearable computing device 10 maydetermine, based on a barometric pressure associated with each ofwearable computing device 10 and mobile computing device 8 (e.g., atleast one second computing device), the relative elevation betweenwearable computing device 10 and mobile computing device 8 associatedwith the person wearing the wearable computing device. Wearablecomputing device 10 may compare the relative elevation over time to oneor more patterns stored at driving patterns data store 28 and/or rely ona machine learning system of driving probability module 26 to determine,based at least in part on the relative elevation, the probability thatthe person wearing wearable computing device 10 is performing the act ofdriving.

In some examples, wearable computing device 10 may determine a relativeacceleration, degree of tilt, or orientation between wearable computingdevice 10 and at least one second computing device associated with theperson wearing the wearable computing device, and determine, based atleast in part on the relative acceleration, degree of tilt, ororientation, the probability that the person wearing wearable computingdevice 10 is performing the act of driving. For example, the personwearing wearable computing device 10 may also rely on mobile computingdevice 8, for instance, to make phone calls. If the person is drivingwhile wearing wearable computing device 10, for example, on his or herwrist, he or she may place his or her phone (e.g., mobile computingdevice 8) in a console of transportation vehicle 2 or in his or herpocket. In any event, the acceleration of mobile computing device 8while either in the console or in the pocket may remain fixed, relativeto the interior of the passenger compartment of transportation vehicle2. In contrast, the acceleration of wearable computing device 10 maychange relative to the interior of the passenger compartment oftransportation vehicle 2 (e.g., as the person moves the arm at whichwearable computing device 10 is attached as the person performs variousacts of driving). Wearable computing device 10 may identify changes inthe difference between the acceleration of mobile computing device 8 andwearable computing device 10 to determine when the person is driving.

For example, driver module 24 of wearable computing device 10 mayreceive sensor information from mobile computing device 8 that containsaccelerometer data, a degree of tilt from a tilt sensor of mobilecomputing device 8, or a degree of orientation from a gyroscope ofmobile computing device 8. In addition, driver module 24 may obtain anacceleration, a degree of tilt, or a degree of orientation from one ormore sensor devices 14 of wearable computing device 10. Driver module 24of wearable computing device 10 may determine, based on an acceleration,a degree of tilt, or a degree of orientation associated with each ofwearable computing device 10 and mobile computing device 8 (e.g., atleast one second computing device), the relative acceleration, degree oftilt, or orientation between wearable computing device 10 and mobilecomputing device 8 associated with the person wearing the wearablecomputing device. Wearable computing device 10 may compare the relativeacceleration, degree of tilt, or orientation over time to one or morepatterns stored at driving patterns data store 28 and/or rely on amachine learning system of driving probability module 26 to determine,based at least in part on the relative acceleration, degree of tilt, ororientation, the probability that the person wearing wearable computingdevice 10 is performing the act of driving.

Responsive to determining that the probability satisfies a probabilitythreshold (230), wearable computing device 10 may determine that theuser of the wearable computing device 10 is currently driving the movingvehicle (240). For instance, driver module 24 of wearable computingdevice 10 may compare the probability to a fifty percent threshold andif the probability is greater than fifty percent, determine that theperson is likely driving transportation vehicle 2.

Wearable computing device 10 may perform, based on the determinationthat the person wearing wearable computing device 10 is currentlydriving the transportation vehicle, an operation (250). For example,driver module 24 may output information to applications 34 to cause oneor more of applications 34 to cease functioning and/or provideadditional functionality to the person while he or she is driving.

A system and/or device (e.g., a wearable computing device, a server, amobile device, etc.) in accordance with the techniques of thisdisclosure may determine that a person who is wearing a wearablecomputing device is driving and not a passenger in one of various ways.For instance, one way for a system and/or device to determine that aperson wearing a device is driving may be for the system and/or deviceto rely on sensors (e.g., accelerometers, gyroscopes, etc.) forreceiving data that indicates a turning motion. Turning motions may beused to indicate: adjustments to a steering wheel (e.g., large turningmotions while parking, small turning motions to maintain an automobile'sposition in a lane, etc.) done by a user. Vertical positions may be usedto indicate where a person's hand is held relative to the controls of atransportation vehicle. For instance, if the same vertical position of auser's hand is maintained, the person may not be driving. However if thesystem and/or device detects a change in vertical position (e.g.,raising and lowering the hand periodically), the system and/or devicemay infer that the person is taking his or her hand off the steeringwheel to grab a gear shifter to change gears of the automobile. Patternsof movement (e.g., a repeated motion of shifting gears and thenreturning to the steering position) may be used by system and/or deviceto detect driving.

One other way for a system and/or device to determine that a personwearing a device is driving may be for the system and/or device to relyon comparative measurements of a person's handheld device (e.g., amobile phone, a tablet, etc.) and the wearable computing device. Forexample, a system and/or device may determine a comparative barometricpressure between a wearable computing device and a mobile phone todetermine relative elevation and changes of elevation. In some examples,the system and/or device may use accelerometer data detected by awearable computing device and a mobile phone to “subtract out” and/or“filter” vibrations and other system noise attributed to thetransportation vehicle to isolate the signals and motions detected bythe wearable computing device.

One other way for a system and/or device to determine that a personwearing a device is driving may be for the system and/or device to relyon information from multiple devices that are all in the presence of atransportation vehicle. For instance, the system and/or device may sensewhen there are more than one person wearing computerized watches in avehicle. If two people wear watches in a vehicle, only one person may bea driver. The system and/or device may compute a probability that eachis driving and determine that the person with the higher degree oflikelihood of being the driver is driving and the other person is merelya passenger riding in the vehicle.

FIG. 5 is a flowchart illustrating example operations of an examplecomputing system configured to determine whether a person wearing awearable computing device is driving a transportation vehicle, inaccordance with one or more aspects of the present disclosure. Theprocess shown in FIG. 5 may be performed by one or more processors of acomputing system, such as remote computing system 6 illustrated inFIG. 1. For purposes of illustration, FIG. 5 is described below withinthe context of system 1 of FIG. 1.

Remote computing system 6 may receive, from wearable computing device10, information that includes one or more indications of movementassociated with wearable computing device 10 and at least one indicationthat wearable computing device 10 is located within a moving vehicle(300). For example, driver probability module 30 may receive a requestfrom driver module 24 of wearable computing device 10 for a probabilityindicating whether or not the person wearing wearable computing device10 is driving transportation vehicle 2. The request from driver module24 may include raw sensor data obtained by one or more sensor devices 14and/or one or more defined indications of movement based on that sensordata. In addition, the request may include information indicating thatwearable computing device 10 is in the presence of transportationvehicle 2 and may further indicate the type, location, speed, and/orelevation of transportation vehicle 2.

Driving probability module 30 may process the request from driver module24 and analyze the information indicating movement and the presenceobtained with the request. Remote computing system 6 may determine,based at least in part on the one or more indications of movement andthe at least one indication that wearable computing device 10 is withinthe presence of transportation vehicle 2, a probability that a user ofthe wearable computing device is performing an act of driving (310). Forinstance, driving probability module 30 may feed the indications ofmovement as input to one or more rules of a machine learning system fordetermining whether the indications of movement match or correlatemovements contained in other information that the machine learningsystem identifies when other persons wearing wearable computing devicesare driving.

In some examples, driving probability module 30 may identify one or morechanges to a measurement of acceleration or orientation of wearablecomputing device 10. For instance, driving probability module 30 mayidentify a portion of the data containing the indications of movementhaving an increase and/or a decrease to the acceleration of wearablecomputing device 10 and/or a change to the orientation of wearablecomputing device 10.

Driving probability module 30 may determine, based on the one or morechanges to the measurement of acceleration or orientation, a probabilitythat the person wearing the wearable computing device is turning asteering wheel or shifting a gear shift of the transportation vehicle.For instance, the machine learning system of driving probability module30 may compute a respective probability associated with each one ofmultiple acts of driving (e.g., steering, shifting, etc.). Drivingprobability module 30 may determine, based at least in part on eachrespective probability associated with each one of the multiple acts ofdriving, the probability that the person wearing wearable computingdevice 10 is performing the act of driving. For instance, drivingprobability module 30 may compute a weighted average of theprobabilities associated with the various acts of driving to compute asingle probability indicative of whether the person is driving or not.

In some examples, driving probability module 30 may rely on theprobability of one act of driving to determine the probability of adifferent act of driving. For instance, driving probability module 30may compute the probability that the person is changing lanes withtransportation vehicle 2 based on a probability that the person issteering or turning the steering wheel of transportation vehicle 2, inaddition to other information (e.g., speed, acceleration, direction,etc.) of wearable computing device 10.

In some examples, driving probability module 30 of remote computingsystem 6 may identify, based on the one or more indications of movementreceived from wearable computing device 10, a pattern of movementassociated with the act of driving. Responsive to identifying thepattern of movement, driving probability module 30 may determine theprobability that the person wearing wearable computing device 10 isperforming the act of driving. For example, as described above, drivingprobability module 30 may compare the indications of movement obtainedfrom wearable computing device 10 to data stored at driving patternsdata store 32 to determine whether the received indications of movementhave a strong enough correlation (e.g., greater than 0) for indicatingthat the person is driving. In some examples, the patterns of movementidentified by driving probability module 30 may include one or moresequences of movements such as shifting a gear shift of transportationvehicle 2, raising a hand of the person, turning a steering wheel oftransportation vehicle 2, and lowering the hand of the person, and acombination of raising and lowering the hand of the person, turning thesteering wheel, and shifting the gear shift of the transportationvehicle.

Remote computing system 6 may determine whether the probabilitysatisfies a probability threshold (320). For example, drivingprobability module 30 may compare the probability computed above to oneor more threshold probabilities used for determining whether the personis driving. A probability threshold may be fifty percent, ninetypercent, or other percentage.

Responsive to determining that the probability satisfies a probabilitythreshold, remote computing system 6 may determine that the user of thewearable computing device 10 is currently driving the moving vehicle(330). For instance if driving probability module 30 determines that theprobability that the person is turning a steering wheel oftransportation vehicle 2 is greater than fifty percent and/or that theprobability that the person is moving a gear shift of transportationvehicle 2 is greater than thirty percent, that the person is then likelyto be driving transportation vehicle 2.

Remote computing system 6 may output, for transmission to wearablecomputing device 10, information that configures wearable computingdevice 10 to perform an operation (340). For example, drivingprobability module 30 may respond to the request from driver module 24by providing information, data, and/or other indications that the personis determined to be driving to cause wearable computing device 10 toperform an operation.

In some examples, remote computing system 6 may rely on informationabout other passengers of transportation vehicle 2 to determine theprobability that the person wearing wearable computing device 10 isdriving and causing wearable computing device 10 to perform certainoperations when the person is driving. For example, driving probabilitymodule 30 may receive information from wearable computing device 10and/or mobile computing device 8 and determine a probability that atleast one person not wearing wearable computing device 10 and intransportation vehicle 2 is performing the act of driving. Saiddifferently, a person other than the person wearing wearable computingdevice 10 may be holding, operating, or otherwise be associated withmobile computing device 8 or may even be wearing a different wearablecomputing device. Driving probability module 30 may receive sensorinformation obtained from the mobile and/or wearable device associatedwith the other person to determine whether that other person is drivingtransportation vehicle 2.

Driving probability module 30 may compare the probability that each ofthe other persons in transportation vehicle 2 is driving to theprobability that the person wearing wearable computing device 10 isdriving. Responsive to determining that the probability that the personwearing wearable computing device 10 is driving exceeds the probabilitythat any of the other persons not wearing wearable computing device 10is driving, driving probability module 30 may determine that the personwearing wearable computing device 10 and not the at least one person notwearing wearable computing device 10 is currently driving transportationvehicle 2. After determining that the person wearing wearable computingdevice 10 and not the other persons is driving, driving probabilitymodule 26 of remote computing system 6 may output, for transmission towearable computing device 10, the information that configures wearablecomputing device 10 to perform the operation.

Clause 1. A method comprising: detecting that a wearable computingdevice is located within a moving vehicle; detecting, by the wearablecomputing device, an indication of movement associated with the wearablecomputing device; determining, based at least in part on the indicationof movement, that a user of the wearable computing device is currentlydriving the moving vehicle; and performing, based on the determinationthat the user of the wearable computing device is currently driving themoving vehicle, an operation.

Clause 2. The method of clause 1, wherein determining that the user ofthe wearable computing device is currently driving the moving vehiclecomprises: determining a probability that the user of the wearablecomputing device is performing an act of driving; and responsive todetermining that the probability satisfies a probability threshold,determining that the user is currently driving the moving vehicle.

Clause 3. The method of clause 2, wherein determining the probabilitythat the user of the wearable computing device is performing the act ofdriving comprises: outputting, by the wearable computing device, fortransmission to at least one second computing device, informationcomprising the indication of movement; and responsive to outputting theinformation comprising the indication of movement, receiving, by thewearable computing device, from the at least one second computingdevice, the probability that the user of the wearable computing deviceis performing the act of driving.

Clause 4. The method of any of clauses 2-3, wherein the act of drivingcomprises at least one of turning a steering wheel, depressing thesteering wheel, shifting a gear shift, pressing a pedal, depressing thepedal, or raising and lowering a hand.

Clause 5. The method of any of clauses 1-4, wherein performing theoperation comprises restricting access to at least some functionality ofan application or operating system being executed by at least one of thewearable computing device or a second computing device.

Clause 6. The method of any of clauses 1-5, wherein performing theoperation comprises outputting, by the wearable computing device, fortransmission to at least one second computing device, information usableby the at least one second computing device to learn driving habits ofthe user of the wearable computing device.

Clause 7. The method of any of clauses 1-6, wherein performing theoperation comprises outputting, by the wearable computing device, fortransmission to at least one second computing device, information usableby the at least one second computing device to determine a driving routeassociated with the user of the wearable computing device.

Clause 8. The method of any of clauses 1-7, wherein performing theoperation comprises deactivating, by the wearable computing device, adisplay device that is operatively coupled to at least one of thewearable computing device or a second computing device.

Clause 9. The method of any of clauses 1-8, wherein detecting theindication of movement associated with the wearable computing devicecomprises: determining, by the wearable computing device and based atleast in part on a sensor of the wearable computing device, sensorinformation indicating at least one of an acceleration of the wearablecomputing device, an orientation of the wearable computing device, or abarometric pressure of the wearable computing device; and defining,based on the sensor information, the indication of movement.

Clause 10. The method of any of clauses 1-9, wherein detecting theindication of movement associated with the wearable computing devicecomprises: detecting an indication of movement associated with themoving vehicle; and subtracting the indication of movement associatedwith the moving vehicle from the indication of movement associated withthe wearable computing device.

Clause 11. A wearable computing device comprising: at least oneprocessor; at least one module operable by the at least one processorto: detect that the wearable computing device is located within a movingvehicle; detect an indication of movement associated with the wearablecomputing device; determine, based at least in part on the indication ofmovement, that a user of the wearable computing device is currentlydriving the moving vehicle; and perform, based on the determination thatthe user of the wearable computing device is currently driving themoving vehicle, an operation.

Clause 12. The wearable computing device of clause 11, wherein the atleast one module is further operable by the at least one processor todetermine that the user is currently driving the moving vehicle by atleast: determining a probability that the user of the wearable computingdevice is performing an act of driving; and responsive to determiningthat the probability satisfies a probability threshold, determining thatthe user of the wearable computing device is currently driving themoving vehicle.

Clause 13. The wearable computing device of clause 12, wherein the atleast one module is further operable by the at least one processor todetermine the user of the wearable computing device is performing theact of driving by at least: outputting, by the wearable computingdevice, for transmission to at least one second computing device,information comprising the one or more indications of movement; andresponsive to outputting the information comprising the one or moreindications of movement, receiving, by the computing system, from the atleast one second computing device, the probability that the user of thewearable computing device is performing the act of driving.

Clause 14. The wearable computing device of any of clauses 11-13,wherein the at least one module is further operable by the at least oneprocessor to: determine at least one of a relative elevation,acceleration, degree of tilt, or orientation between the wearablecomputing device and at least one second computing device associatedwith the user of the wearable computing device; and determine, based atleast in part on the at least one of the relative elevation,acceleration, degree of tilt, or orientation, that the user of thewearable computing device is currently driving the moving vehicle.

Clause 15. The wearable computing device of clause 14, wherein the atleast one module is further operable by the at least one processor todetermine the at least one of the relative elevation, acceleration,degree of tilt, or orientation between the wearable computing device andthe at least one second computing device associated with the user of thewearable computing device by at least determining, based on at least oneof a barometric pressure, an acceleration, a degree of tilt, or a degreeof orientation associated with each of the wearable computing device andthe at least one second computing device, the at least one of therelative elevation, acceleration, degree of tilt, or orientation betweenthe wearable computing device and the at least one second computingdevice associated with the user of the wearable computing device.

Clause 16. A method comprising: receiving, by a computing system, from awearable computing device, information that includes one or moreindications of movement associated with the wearable computing deviceand at least one indication that the wearable computing device islocated within a moving vehicle; determining, by the computing system,based at least in part on the one or more indications of movement andthe at least one indication that the wearable computing device islocated within the moving vehicle, a probability that a user of thewearable computing device is performing an act of driving; responsive todetermining that the probability satisfies a probability threshold,determining, by the computing system, that the user of the wearablecomputing device is currently driving the moving vehicle; andoutputting, by the computing system, for transmission to at least one ofthe wearable computing device or at least one second computing device,information that configures the at least one of the wearable computingdevice or the at least one second device to perform an operation.

Clause 17. The method of clause 16, wherein the probability is a firstprobability, the method further comprising: determining, by thecomputing system, a second probability that at least one person notwearing the wearable computing device and located in the moving vehicleis performing the act of driving; responsive to determining that thefirst probability exceeds the second probability, determining, by thecomputing system, that the user of the wearable computing device and notthe at least one person not wearing the wearable computing device iscurrently driving the moving vehicle; and outputting, by the computingsystem, for transmission to the at least one of the wearable computingdevice or the at least one second computing device, the information thatconfigures the at least one of the wearable computing device or the atleast one second computing device to perform the operation.

Clause 18. The method of any of clauses 16-17, wherein the probabilityis a first probability, the method further comprising: identifying, bythe computing system, one or more changes to a measurement ofacceleration or orientation of the wearable computing device;determining, by the computing system, based on the one or more changesto the measurement of acceleration or orientation, a second probabilitythat the user of the wearable computing device is turning a steeringwheel or shifting a gear shift of the moving vehicle; and determining,by the computing system, based at least in part on the secondprobability, the first probability that the user of the wearablecomputing device is performing the act of driving.

Clause 19. The method of any of clauses 16-18, wherein determining theprobability that the user of the wearable computing device is performingthe act of driving comprises: identifying, by the computing system,based on the one or more indications of movement, a pattern of movementassociated with the act of driving; and responsive to identifying thepattern of movement, determining, by the computing system, theprobability that the user of the wearable computing device is performingthe act of driving.

Clause 20. The method of clause 19, wherein the pattern of movementcomprises a sequence of movements comprising at least one of shifting agear shift, raising a hand, turning a steering wheel, lowering the hand,or a combination of raising and lowering the hand, turning the steeringwheel, and shifting the gear shift.

Clause 21. A computer readable storage medium comprising instructions,that when executed, configure one or more processors of a computingdevice to perform any of the methods of clauses 1-10.

Clause 22. A computer readable storage medium comprising instructions,that when executed, configure one or more processors of a computingsystem to perform any of the methods of clauses 16-20.

Clause 23. A computing device comprising means for performing any of themethods of clauses 1-10.

Clause 24. A computing system comprising means for performing any of themethods of clauses 16-20.

Clause 24. A computing system comprising means for performing any of themethods of clauses 1-10 and 16-20.

In each of the various examples described above, computing devices,mobile computing devices, wearable computing devices, computing systems,and other computing devices may analyze information (e.g., locations,speeds, etc.) associated with the wearable computing devices, computingsystems, and other computing devices, only if the wearable computingdevices, computing systems, and other computing devices, receivepermission from a user of such wearable computing devices, computingsystems, and other computing devices, to analyze the information. Forexample, in situations discussed below in which a wearable computingdevice or computing system may collect or may make use of informationassociated with a user and the wearable computing device and computingsystem, the user may be provided with an opportunity to control whetherprograms or features of the wearable computing device and computingsystem can collect and make use of user information (e.g., informationabout a user's location, speed, mode of transportation, e-mail, a user'ssocial network, social actions or activities, profession, a user'spreferences, or a user's past and current location), or to controlwhether and/or how to the wearable computing device and computing systemreceive content that may be relevant to the user. In addition, certaindata may be treated in one or more ways before it is stored or used bythe wearable computing device and computing system, so that personallyidentifiable information is removed. For example, a user's identity maybe treated so that no personally identifiable information can bedetermined about the user, or a user's geographic location may begeneralized where location information is obtained (such as to a city,ZIP code, or state level), so that a particular location of a usercannot be determined. Thus, the user may have control over howinformation is collected about the user and used by the wearablecomputing device and computing system.

In one or more examples, the functions described may be implemented inhardware, software, firmware, or any combination thereof. If implementedin software, the functions may be stored on or transmitted over, as oneor more instructions or code, a computer-readable medium and executed bya hardware-based processing unit. Computer-readable media may includecomputer-readable storage media, which corresponds to a tangible mediumsuch as data storage media, or communication media including any mediumthat facilitates transfer of a computer program from one place toanother, e.g., according to a communication protocol. In this manner,computer-readable media generally may correspond to (1) tangiblecomputer-readable storage media, which is non-transitory or (2) acommunication medium such as a signal or carrier wave. Data storagemedia may be any available media that can be accessed by one or morecomputers or one or more processors to retrieve instructions, codeand/or data structures for implementation of the techniques described inthis disclosure. A computer program product may include acomputer-readable medium.

By way of example, and not limitation, such computer-readable storagemedia can comprise RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage, or other magnetic storage devices, flashmemory, or any other medium that can be used to store desired programcode in the form of instructions or data structures and that can beaccessed by a computer. Also, any connection is properly termed acomputer-readable medium. For example, if instructions are transmittedfrom a website, server, or other remote source using a coaxial cable,fiber optic cable, twisted pair, digital subscriber line (DSL), orwireless technologies such as infrared, radio, and microwave, then thecoaxial cable, fiber optic cable, twisted pair, DSL, or wirelesstechnologies such as infrared, radio, and microwave are included in thedefinition of medium. It should be understood, however, thatcomputer-readable storage media and data storage media do not includeconnections, carrier waves, signals, or other transient media, but areinstead directed to non-transient, tangible storage media. Disk anddisc, as used herein, includes compact disc (CD), laser disc, opticaldisc, digital versatile disc (DVD), floppy disk and Blu-ray disc, wheredisks usually reproduce data magnetically, while discs reproduce dataoptically with lasers. Combinations of the above should also be includedwithin the scope of computer-readable media.

Instructions may be executed by one or more processors, such as one ormore digital signal processors (DSPs), general purpose microprocessors,application specific integrated circuits (ASICs), field programmablelogic arrays (FPGAs), or other equivalent integrated or discrete logiccircuitry. Accordingly, the term “processor,” as used herein may referto any of the foregoing structure or any other structure suitable forimplementation of the techniques described herein. In addition, in someaspects, the functionality described herein may be provided withindedicated hardware and/or software modules. Also, the techniques couldbe fully implemented in one or more circuits or logic elements.

The techniques of this disclosure may be implemented in a wide varietyof devices or apparatuses, including a wireless handset, an integratedcircuit (IC) or a set of ICs (e.g., a chip set). Various components,modules, or units are described in this disclosure to emphasizefunctional aspects of devices configured to perform the disclosedtechniques, but do not necessarily require realization by differenthardware units. Rather, as described above, various units may becombined in a hardware unit or provided by a collection ofinteroperative hardware units, including one or more processors asdescribed above, in conjunction with suitable software and/or firmware.

Various examples have been described. These and other examples arewithin the scope of the following claims.

What is claimed is:
 1. A method comprising: receiving an indication ofmovement associated with a wearable computing device that is located ina vehicle; determining a degree of likelihood that a user of thewearable computing device is driving the vehicle; responsive todetermining that the degree of likelihood satisfies a threshold,determining that the user of the wearable computing device is currentlydriving the vehicle; and responsive to determining that the user of thewearable computing device is currently driving the vehicle, performing,by a different computing device that is located in the vehicle and isassociated with the user of the wearable computing device, one or moreoperations that prevent the user from accessing at least one feature ofthe different computing device while the user of the wearable computingdevice is currently driving the vehicle.
 2. The method of claim 1,wherein the indication of the movement comprises sensor data indicatinga turning motion detected by a sensor of the wearable computing deviceor the different device.
 3. The method of claim 1, wherein the operationincludes at least one of: disabling at least one input component of thedifferent computing device; or disabling at least one output componentof the different computing device.
 4. The method of claim 3, wherein theinput component includes a presence-sensitive input component of thedifferent computing device.
 5. The method of claim 3, wherein the outputcomponent includes a display of the different computing device.
 6. Themethod of claim 1, wherein the operation includes disabling textmessaging functions of the wearable computing device or the differentcomputing device.
 7. The method of claim 1, wherein performing the oneor more operations further comprises restricting access to at least somefunctionality of the wearable computing device while the user of thewearable computing device is currently driving the vehicle.
 8. Themethod of claim 1, wherein determining the degree of likelihood that theuser of the wearable computing device is driving comprises determining,from inputting the indication of the movement into a machine learningsystem, the degree of likelihood that the user of the wearable computingdevice is driving.
 9. The method of claim 1, wherein determining thedegree of likelihood that the user of the wearable computing device iscurrently driving the vehicle is in response to determining that apattern identified from the movement associated with the wearablecomputing device is consistent with a pattern of movement associatedwith driving the vehicle.
 10. The method of claim 1, further comprising:responsive to determining that the user of the wearable computing deviceis no longer driving the vehicle, enabling, by the different computingdevice, user access to the at least one feature of the differentcomputing device.
 11. A computing system comprising at least oneprocessor configured to: receive an indication of movement associatedwith a wearable computing device that is located in a vehicle, whereinthe computing system is located in the vehicle and is associated withthe user of the wearable computing device; determine a degree oflikelihood that a user of the wearable computing device is driving thevehicle; responsive to determining that the degree of likelihoodsatisfies a threshold, determine that the user of the wearable computingdevice is currently driving the vehicle; and responsive to determiningthat the user of the wearable computing device is currently driving thevehicle, perform one or more operations that prevent the user fromaccessing at least one feature of the computing system while the user ofthe wearable computing device is currently driving the vehicle.
 12. Thecomputing system of claim 11, wherein the indication of the movementcomprises sensor data indicating a turning motion detected by a sensorof the wearable computing device or the computing system.
 13. Thecomputing system of claim 11, wherein the at least one processor isconfigured to determine the degree of likelihood that the user of thewearable computing device based at least in part by inputting theindication of the movement into a machine learning system.
 14. Thecomputing system of claim 11, wherein the at least one processor isconfigured to responsive to determining that the user of the wearablecomputing device is no longer driving the vehicle, enable user access tothe at least one feature of the computing system.
 15. The computingsystem of claim 11, wherein the at least one processor is configured toperform the one or more operations by restricting access to at leastsome functionality of the wearable computing device while the user ofthe wearable computing device is currently driving the vehicle.
 16. Acomputer-readable storage medium comprising instructions that, whenexecuted, cause at least one processor of a computing system to: receivean indication of movement associated with a wearable computing devicethat is located in a vehicle, wherein the computing system is located inthe vehicle and is associated with the user of the wearable computingdevice; determine a degree of likelihood that a user of the wearablecomputing device is driving the vehicle; responsive to determining thatthe degree of likelihood satisfies a threshold, determine that the userof the wearable computing device is currently driving the vehicle; andresponsive to determining that the user of the wearable computing deviceis currently driving the vehicle, perform one or more operations thatprevent the user from accessing at least one feature of the computingsystem while the user of the wearable computing device is currentlydriving the vehicle.
 17. The computer-readable storage medium of claim16, wherein the indication of the movement comprises sensor dataindicating a turning motion detected by a sensor of the wearablecomputing device or the computing system.
 18. The computer-readablestorage medium of claim 16, wherein the instructions, when executed,further cause the at least one processor to determine the degree oflikelihood that the user of the wearable computing device based at leastin part by inputting the indication of the movement into a machinelearning system.
 19. The computer-readable storage medium of claim 16,wherein the instructions, when executed, further cause the at least oneprocessor to responsive to determining that the user of the wearablecomputing device is no longer driving the vehicle, enable user access tothe at least one feature of the computing system.
 20. Thecomputer-readable storage medium of claim 16, wherein the instructions,when executed, further cause the at least one processor to perform theone or more operations by restricting access to at least somefunctionality of the wearable computing device while the user of thewearable computing device is currently driving the vehicle.